package com.zb.mobile;

import com.zb.annotation.NumberPattern;
import com.zb.utils.VerificUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * @Author WEN
 * @Date 2024/4/13 0013
 **/
@Data
@ApiModel("移动端申请工单费用详细")
public class NetworkMobileApplyOrderFeeDetailVo {
    @NotNull(message = "结算类型不能为空")
    @NumberPattern(regexp = "^(1|2)$", required = true, message = "结算类型参数不合法")
    @ApiModelProperty(value = "结算类型：1-品牌商家承担，2-平台承担", required = true, example = "1")
    private Integer type;

    @NotNull(message = "工单费用项目ID不能为空")
    @ApiModelProperty(value = "工单费用项目ID", required = true)
    private Long workFeeProjectId;

    @NotNull(message = "数量不能为空")
    @ApiModelProperty(value = "数量", required = true, example = "1")
    private Integer qty;

    @NotNull(message = "平台承担费用不能为空")
    @Min(value = 0, message = "费用金额最小值为0，不可输入小于0的金额")
    @NumberPattern(regexp = VerificUtil.FLOATING_NUMBER_10_2, required = true, message = "平台承担费用金额最多允许输入8位整数，两位小数")
    @ApiModelProperty(value = "平台承担费用", example = "0")
    private BigDecimal price;

    @NotNull(message = "向服务商支付费用不能为空")
    @Min(value = 0, message = "费用金额最小值为0，不可输入小于0的金额")
    @NumberPattern(regexp = VerificUtil.FLOATING_NUMBER_10_2, required = true, message = "向服务商支付费用金额最多允许输入8位整数，两位小数")
    @ApiModelProperty(value = "向服务商支付费用", required = true, example = "0")
    private BigDecimal payNetworkPrice;

    @NotNull(message = "商家承担费用不能为空")
    @Min(value = 0, message = "费用金额最小值为0，不可输入小于0的金额")
    @NumberPattern(regexp = VerificUtil.FLOATING_NUMBER_10_2, required = true, message = "商家承担费用金额最多允许输入8位整数，两位小数")
    @ApiModelProperty(value = "商家承担费用", required = true, example = "0")
    private BigDecimal receiveFactoryPrice;

    @Length(max = 200, message = "备注长度限制200个字符")
    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "图片路径 ")
    private List<String> iamges;
}
